<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/Common" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:58661/ElectrosWCF.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" />
  <xs:import schemaLocation="http://localhost:58661/ElectrosWCF.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfMenu">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Menu" nillable="true" type="tns:Menu" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMenu" nillable="true" type="tns:ArrayOfMenu" />
  <xs:complexType name="Menu">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q1:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="MenuItem" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Types" nillable="true" type="tns:ArrayOfType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Menu" nillable="true" type="tns:Menu" />
  <xs:complexType name="ArrayOfType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Type" nillable="true" type="tns:Type" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfType" nillable="true" type="tns:ArrayOfType" />
  <xs:complexType name="Type">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q2="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q2:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Menus" nillable="true" type="tns:ArrayOfMenu" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Users" nillable="true" type="tns:ArrayOfUser" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Type" nillable="true" type="tns:Type" />
  <xs:complexType name="ArrayOfUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User" nillable="true" type="tns:User" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser" nillable="true" type="tns:ArrayOfUser" />
  <xs:complexType name="User">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q3="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q3:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Comments" nillable="true" type="tns:ArrayOfComment" />
          <xs:element minOccurs="0" name="Country" nillable="true" type="tns:Country" />
          <xs:element minOccurs="0" name="CountryID" type="xs:int" />
          <xs:element minOccurs="0" name="CountryReference" nillable="true" type="q3:EntityReferenceOfCountryKmbgGhhj" />
          <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="HouseNo" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Mobile" type="xs:int" />
          <xs:element minOccurs="0" name="Orders" nillable="true" type="tns:ArrayOfOrder" />
          <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Postcode" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ShoppingCarts" nillable="true" type="tns:ArrayOfShoppingCart" />
          <xs:element minOccurs="0" name="Street" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Town" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Types" nillable="true" type="tns:ArrayOfType" />
          <xs:element minOccurs="0" name="User_Ratings" nillable="true" type="tns:ArrayOfUser_Ratings" />
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="ArrayOfComment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Comment" nillable="true" type="tns:Comment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfComment" nillable="true" type="tns:ArrayOfComment" />
  <xs:complexType name="Comment">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q4="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q4:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductID_FK" type="xs:int" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q4:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q4:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username_FK" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Comment" nillable="true" type="tns:Comment" />
  <xs:complexType name="Product">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q5="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q5:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Comments" nillable="true" type="tns:ArrayOfComment" />
          <xs:element minOccurs="0" name="DateAdded" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Features" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Image" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="OrderDetails" nillable="true" type="tns:ArrayOfOrderDetail" />
          <xs:element minOccurs="0" name="Price" type="xs:double" />
          <xs:element minOccurs="0" name="ShoppingCarts" nillable="true" type="tns:ArrayOfShoppingCart" />
          <xs:element minOccurs="0" name="Stock" type="xs:int" />
          <xs:element minOccurs="0" name="User_Ratings" nillable="true" type="tns:ArrayOfUser_Ratings" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Product" nillable="true" type="tns:Product" />
  <xs:complexType name="ArrayOfOrderDetail">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OrderDetail" nillable="true" type="tns:OrderDetail" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOrderDetail" nillable="true" type="tns:ArrayOfOrderDetail" />
  <xs:complexType name="OrderDetail">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q6="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q6:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Faults" nillable="true" type="tns:ArrayOfFault" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Order" nillable="true" type="tns:Order" />
          <xs:element minOccurs="0" name="OrderID_FK" type="ser:guid" />
          <xs:element minOccurs="0" name="OrderReference" nillable="true" type="q6:EntityReferenceOfOrderKmbgGhhj" />
          <xs:element minOccurs="0" name="Price" type="xs:double" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductId_FK" type="xs:int" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q6:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="Quantity" type="xs:int" />
          <xs:element minOccurs="0" name="Status_FK" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="OrderDetail" nillable="true" type="tns:OrderDetail" />
  <xs:complexType name="ArrayOfFault">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Fault" nillable="true" type="tns:Fault" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFault" nillable="true" type="tns:ArrayOfFault" />
  <xs:complexType name="Fault">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q7="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q7:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="CategoryFault" nillable="true" type="tns:CategoryFault" />
          <xs:element minOccurs="0" name="CategoryFaultReference" nillable="true" type="q7:EntityReferenceOfCategoryFaultKmbgGhhj" />
          <xs:element minOccurs="0" name="CategoryID_FK" type="xs:int" />
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="EnteredDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="ExpiredDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="FaultStatu" nillable="true" type="tns:FaultStatu" />
          <xs:element minOccurs="0" name="FaultStatuReference" nillable="true" type="q7:EntityReferenceOfFaultStatuKmbgGhhj" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="OrderDetail" nillable="true" type="tns:OrderDetail" />
          <xs:element minOccurs="0" name="OrderDetailReference" nillable="true" type="q7:EntityReferenceOfOrderDetailKmbgGhhj" />
          <xs:element minOccurs="0" name="StatusID" type="xs:int" />
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="orderDetailID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Fault" nillable="true" type="tns:Fault" />
  <xs:complexType name="CategoryFault">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q8:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Faults" nillable="true" type="tns:ArrayOfFault" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CategoryFault" nillable="true" type="tns:CategoryFault" />
  <xs:complexType name="FaultStatu">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q9="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q9:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Faults" nillable="true" type="tns:ArrayOfFault" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FaultStatu" nillable="true" type="tns:FaultStatu" />
  <xs:complexType name="Order">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q10="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q10:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="ser:guid" />
          <xs:element minOccurs="0" name="OrderDetails" nillable="true" type="tns:ArrayOfOrderDetail" />
          <xs:element minOccurs="0" name="PurchaseDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q10:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Order" nillable="true" type="tns:Order" />
  <xs:complexType name="ArrayOfShoppingCart">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ShoppingCart" nillable="true" type="tns:ShoppingCart" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfShoppingCart" nillable="true" type="tns:ArrayOfShoppingCart" />
  <xs:complexType name="ShoppingCart">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q11="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q11:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="OrderDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductId_FK" type="xs:int" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q11:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="StockPurchased" type="xs:int" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q11:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ShoppingCart" nillable="true" type="tns:ShoppingCart" />
  <xs:complexType name="ArrayOfUser_Ratings">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User_Ratings" nillable="true" type="tns:User_Ratings" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser_Ratings" nillable="true" type="tns:ArrayOfUser_Ratings" />
  <xs:complexType name="User_Ratings">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q12="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q12:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q12:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="Product_Fk" type="xs:int" />
          <xs:element minOccurs="0" name="Rating" nillable="true" type="tns:Rating" />
          <xs:element minOccurs="0" name="RatingReference" nillable="true" type="q12:EntityReferenceOfRatingKmbgGhhj" />
          <xs:element minOccurs="0" name="Ratings_Fk" type="xs:int" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q12:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username_Fk" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="User_Ratings" nillable="true" type="tns:User_Ratings" />
  <xs:complexType name="Rating">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q13="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q13:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Rate" type="xs:int" />
          <xs:element minOccurs="0" name="User_Ratings" nillable="true" type="tns:ArrayOfUser_Ratings" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Rating" nillable="true" type="tns:Rating" />
  <xs:complexType name="Country">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q14="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q14:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Users" nillable="true" type="tns:ArrayOfUser" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Country" nillable="true" type="tns:Country" />
  <xs:complexType name="ArrayOfOrder">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Order" nillable="true" type="tns:Order" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOrder" nillable="true" type="tns:ArrayOfOrder" />
</xs:schema>